As used herein, a control device will be understood to mean any type of electronic device with whose aid physical technological processes are adjusted. Customarily, such a control device comprises as least one arithmetic and logic unit, e.g. in the form of a processor or microcontroller, memory, and input/output interfaces (I/O interfaces) in order to be able to carry out calculations as a function of internally stored parameters or internal computational variables and/or of measured, or externally provided, quantities, and likewise to be able to act on external processes through the output of electrical signals. Thus, control devices do not operate, in the sense of control technology, only as controls, but rather they are also suitable for realizing complex control objectives. When in the following we speak of control devices, controls, and the process of control, we will also always include devices and activities according to the general definitions given above.
Furthermore, the discussion herein relates to various microcontrollers. By this are understood electronic computer units with associated electronic memory, independently of whether the memory is realized entirely or partially in one structural part with the computer, or whether computer unit and the associated memory are present as components separate from one another.
The use of adjustment devices becomes clear through the following presentation of the development process which control devices, at least in the context of extensive objectives, run through in practice.
At the beginning of a control technology project typically comes the mathematical modeling and simulation of the physical technological process on which a desirable dynamic behavior is intended to be imposed. With the aid of the resulting abstract mathematical model, various control concepts, which also exist only as mathematical models, can be tested in the framework of numerical simulations. This step represents the phase of modeling and controller design usually based on computer-supported modeling tools.
The controller designed in the mathematical model is transferred to a unit capable of real-time simulation, which usually in its computational power as well as with regard to its I/O capabilities far exceeds a customary production-model control device and is interactively connected to the real physical process. Since the transfer of the abstractly formulated controller from a modeling tool to the simulation unit is done substantially automatically, one speaks in the second phase of rapid control prototyping (RCP) or function prototyping.
If the control technology problem is solved with the controller operated on the simulation unit, the control algorithm is transferred in the framework of the control device implementation, in most cases entirely automatically, to the (production-model) control device ultimately to be used in practice.
The control device which is, in principle, then usable in the real process is, before its use, frequently first subjected to a test by the real process with which the control device is ultimately intended to interact being partially or completely simulated by a unit capable of real-time simulation and the control device being stimulated by signal test patterns (hardware-in-the-loop simulation). The control device tested in this manner is ultimately used in the real process and operated interactively with it.
Despite the extensive tests carried out in advance it is usually necessary to make adjustments to the control device or to the functions implemented in the control device. For this it is necessary, for one thing, to be able to monitor, record and analyze in real time the state of the control device, i.e. all the data input or output as well as used internally by the control device per data acquisition. For another thing, it is necessary through write access to the memory of the control device to be able to change the parameters or sets of parameters on which the functions or control algorithms are based, i.e. characteristic values, characteristic curves, or characteristic fields. The processes described are designated collectively as control device applications or calibrations.
If not only parameters of functions of the control device, i.e. data stored in the memory of the control device, but rather the functions implemented in the control device are themselves supposed to be changed as a test, so-called function bypassing comes into use, in which the control device of a real-time simulation unit signals the call of a control device function but the control device itself does not execute the function but rather only accepts and makes further use of the result of the function calculated as a substitute on the simulation unit. A bypass of the control device function therefore takes place.
In both scenarios described, the control device application and the function bypassing, it is necessary to provide special access to the control device, via which monitoring and active adjustment of the control device is possible.
From practice, essentially two methods are known via which adjustment devices obtain access to control devices.
With the use of a parallel interface, interventions in the hardware of the control device are usually necessary since the adjustment device in this case operates as a memory emulator and, for example, via an adapter which takes the place of a memory chip of the control device or is received by a slot on the printed circuit board of the control device, specifically a slot provided especially for it, and accesses the address and data bus of the control device microcontroller (e.g. dSPACE Product Catalog 2004, pages 292-293). Along with this, the adjustment device itself comprises, as a central element, a dual-port memory and a data transmission interface via which the adjustment device is connected to an operating unit. On the operator unit side the dual-port memory can then be read and written to by an operator, where the data stored in the dual-port memory of the adjustment device can be read automatically from the control device microcontroller since, due to the coupling to the data bus and the address bus of the control device microcontroller, the dual-port memory is located in the address space of the microcontroller.
However, in practice, not only are the described changes to the hardware made, but modifications to or enhancements of the control device program running on the control device are also made. This is done, for example, in order to also make internal data stored in the integrated memory of the control device microcontroller monitorable and changeable. For this, additional software services are implemented in the control device which copy internal data from the control device microcontroller into a memory area of the microcontroller, where that memory area lies within the control device microcontroller's address space accessible via the external address bus and data bus. Conversely, there are also software services which copy data from the control device microcontroller's address space accessible via the external address bus and data bus into the internal memory area of the control device microcontroller.
For the transfer of data, an address list and a data list are thus provided in the address space of the control device microcontroller, where either the address list contains those addresses in the address space of the control device microcontroller whose data are intended to be read and stored at a location in the data list or the address list contains those addresses in the address space of the control device microcontroller whose contents are intended to be written with corresponding data from the data list.
Thus, the process described above is, among other things, disadvantageous because the address list and the data list as well as the software services occupy additional memory space within the control device and the execution of the software services ties up computational power of the control device microcontroller which is not needed for the sole execution of the control functions of the control device. The behavior of the control device in the control device application can thus, under certain circumstances, hardly be comparable to the behavior which the control device would exhibit without the additional execution of the software services serving the application.
An additional method for an adjustment device accessing a control device consists in the use of serial interfaces (see, for example, dSPACE Product Catalog 2004, pages 84-85) with which modern control devices are customarily equipped. Here an intervention in the hardware of the control device in regard to the use of a parallel interface is no longer required. However, the control device must be equipped with additional software services in order to be able to carry out a data exchange via the serial interface, e.g. with an adjustment device. The present invention proceeds from adjustment devices of this type.
The address list and the data list described above, and used in the process using a parallel interface, as well as the software services for copying data into and out of the data lists are also used in the serial process so that on the whole a greater load on the control device microcontroller as well as a higher expenditure of memory on the control device results due to the greater number of software services.
Modern control devices are increasingly equipped with microcontrollers which comprise a debug interface, such as, for example, NEXUS (IEEE-ISTO 5001: “The NEXUS 5001 Forum Standard for a Global Embedded Processor Debug Interface,” 2003).
Debug interfaces offer far-reaching possibilities for monitoring and adjusting states of the microcontroller and they make possible run-time monitoring and control (debugging) of the microcontroller, in particular therefore tracking of the execution of the program code and the data accessed and changed in so doing. Due to the fact that the debug interfaces are an integral part of the microcontroller hardware, faster access to the microcontroller can clearly be realized with them than is possible through a software-based communications interface.
To the applicant it is known from practice for the application of a control device with a control device debug interface to use an adjustment device which uses the control device debug interface for the adjustment of the control device, where, however, address lists and data lists continue to be created in the memory of the control device and the software services described above are used for copying data into and out of the data lists.
Through the use of the address lists and data lists located in the memory of the control device microcontroller and corresponding software services for copying and sending data into and out of the lists, the control device microcontroller is, however, also significantly loaded in this realization.
The above-described use of software services on the control device also leads in particular to it being hardly possible in practice to simultaneously carry out on the control device a control device application and a function bypass since the data communications based on software services quickly leads to a heavy load on the control device microcontroller and thus to unacceptable response times in the data transmission between the adjustment device and the control device. For this reason, only adjustment devices are known in practice with which either the application of control devices or a function bypass with the control device can be carried out but not both simultaneously.
An additional disadvantage in the use of software services on the control device is the fact that the software services first must be implemented on the control device, which usually makes necessary an intensive collaboration with, and thus a close connection to, the manufacturer of the control device. This is accepted less and less in industrial development.